package com.jy.modules.cims.data.common.dao;

import java.util.List;
import java.util.Map;

import com.jy.modules.cims.data.common.dto.TCMmCreditDetailDTO;
import com.jy.platform.core.mybatis.MyBatisRepository;
/**
 * @classname: TCMmCreditDetailDao
 * @description: 定义  债权明细 持久层 接口
 * 通过@MapperScannerConfigurer扫描目录中的所有接口, 动态在Spring Context中生成实现.
 * 方法名称必须与Mapper.xml中保持一致.
 * @author:  zhiqiang
 */
@MyBatisRepository
public interface TCMmCreditDetailDao {
    
    /**
     * @author zhiqiang
     * @description: 分页查询债权明细
     * @date 2015-01-07 16:21:37
     * @param searchParams
     * @return
     */
    public List<TCMmCreditDetailDTO> searchTCMmCreditDetailByPaging(Map<String, Object> searchParams) ;
    /**
     * 
     * @Title searchCreditPlanRedeemTotalByPaging
     * @Description TODO
     * @param searchParams
     * @return 
     * List<TCMmCreditDetailDTO> 
     * @author lizhiqiang
     * @date 2016-7-28-下午2:51:35
     * @update 
     * @throws
     */
    public List<TCMmCreditDetailDTO> searchCreditPlanRedeemTotalByPaging(Map<String, Object> searchParams) ;
    /**
     * 
     * @Title searchCreditPlanRedeemTotal
     * @Description TODO
     * @param searchParams
     * @return 
     * List<TCMmCreditDetailDTO> 
     * @author lizhiqiang
     * @date 2016-7-28-下午8:16:32
     * @update 
     * @throws
     */
    public List<TCMmCreditDetailDTO> searchCreditPlanRedeemTotal(Map<String, Object> searchParams) ;

    /**
     * @author yujiazheng
     * @description: 分页查询债权明细（包含月还二次够买包名）
     * @date 2015-12-19 16:21:37
     * @param searchParams
     * @return
     */
    public List<TCMmCreditDetailDTO> searchLoanRedemptionCreditDetailByPaging(Map<String, Object> searchParams) ;
    /**
     * @author yujiazheng
     * @description: 不分页查询债权明细（包含月还二次够买包名）
     * @date 2015-12-19 16:21:37
     * @param searchParams
     * @return
     */
    public List<TCMmCreditDetailDTO> searchLoanRedemptionCreditDetail(Map<String, Object> searchParams) ;
    /**
     * @author zhiqiang 
     * @description:查询对象债权明细
     * @date 2015-01-07 16:21:37
     * @param searchParams
     * @return
     */
    public List<TCMmCreditDetailDTO> searchTCMmCreditDetail(Map<String,Object> searchParams);
    

    /**
     * @author zhiqiang
     * @description:查询对象债权明细
     * @date 2015-01-07 16:21:37
     * @param id
     * @return
     */
    public TCMmCreditDetailDTO findTCMmCreditDetailByPrimaryKey(String id);
    
    /**
     * @author zhiqiang
     * @description: 新增对象债权明细
     * @date 2015-01-07 16:21:37
     * @param paramMap
     * @return
     */
    public int insertTCMmCreditDetail(Map<String, Object> paramMap);
    
    /**
     * @author zhoup
     * @description: 根据转让编号更新债权明细表中的包名
     * @date 2016-07-07 10:21:37
     * @param paramMap
     */
    public void updateTCMmCreditDetailByPackageNum(Map<String, Object> paramMap);
    
    /**
     * @author zhiqiang
     * @description: 更新对象债权明细
     * @date 2015-01-07 16:21:37
     * @param paramMap
     */
    public void updateTCMmCreditDetail(Map<String, Object> paramMap);
    
    /**
     * @description: 通过转让编号更新对象债权明细
     * @param paramMap
     */
    public void updateTCMmCreditDetailByTransferId(Map<String, Object> paramMap);
    
    /**
     * @description: 更新对象债权明细
     * @date 2015-01-07 16:21:37
     * @param paramMap
     */
    public void updateTCMmCreditDetailByCondition(Map<String, Object> paramMap);
     
    /**
     * @author zhiqiang
     * @description: 按主键删除债权明细
     * @date 2015-01-07 16:21:37
     * @param ids
     * @return
     */ 
    public void deleteTCMmCreditDetailByPrimaryKey(Map<String, Object> paramMap);
    
    
    /**
     * 
     * @Title searchCreditDetailExportFields
     * @Description 查询债权导出字段
     * @param searchParams
     * @return 
     * List<TCMmCreditDetailDTO> 
     * @date 2015-1-22-下午2:13:47
     * @update 
     * @throws
     */
    public List<TCMmCreditDetailDTO> searchCreditDetailExportData(Map<String, Object> searchParams);
    
    /**
     * 更新明细
     * @param paramMap
     */
    public void updateDetail(Map<String, Object> paramMap);

    /**
     * 更新明细
     * @param paramMap
     */
    public void updateDetailFee(Map<String, Object> paramMap);
}
